I. Field of the Invention
The present invention relates generally to wireless communication systems, and more specifically, to a system for narrowing the range of frequency uncertainty of a detected pilot signal with an unknown, but bounded amount of Doppler shift.
II. Description of the Related Art
A variety of multiple access communication systems and techniques have been developed for transferring information among a large number of system users. However, spread spectrum modulation techniques, such as code division multiple access (CDMA) spread spectrum techniques, provide significant advantages over other modulation schemes, especially when providing service for a large number of communication system users. The use of CDMA techniques in multiple access communication systems is disclosed in U.S. Pat. No. 4,901,307, which issued Feb. 13, 1990, entitled "Spread Spectrum Multiple Access Communication System Using Satellite Or Terrestrial Repeaters," and U.S. Pat. No. 5,691,974, which issued Nov. 25, 1997, entitled "Method And Apparatus For Using Full Spectrum Transmitted Power In A Spread Spectrum Communication System For Tracking Individual Recipient Phase Time And Energy," both of which are assigned to the assignee of the present invention, and incorporated herein by reference.
These patents disclose communication systems in which a large number of generally mobile or remote system users or subscriber units ("user terminals") employ at least one transceiver to communicate with other user terminals, or users of other connected systems, such as a public telephone switching network. Communication signals are transferred either through satellite repeaters and gateways, or directly to terrestrial base stations (also sometimes referred to as cell-sites or cells).
In a modern satellite communications system, timing is critical. For example, such systems typically divide communications channels into "frames" where each frame is of a known duration. In order to optimize the use of such frames in transferring signals or data, the gateways or base stations and the user terminals must employ some method to ensure synchronization. Therefore, each user terminal is supplied with a device for providing a timing reference. An ideal time reference would supply the user terminal with a signal of a known frequency.
A local oscillator is often used to provide a timing reference in the user terminal. However, no local oscillator is perfect. Local oscillators are subject to frequency drift. When the frequency of the local oscillator drifts, synchronization is lost.
One approach to minimizing local oscillator frequency drift is to fabricate a more accurate local oscillator. However, such very stable local oscillators are very expensive to fabricate, and could unacceptably increase the cost of the user terminal.
Another approach, commonly used in cellular telephone systems, involves the use of a voltage controlled temperature compensated crystal oscillator (VTCXO). The output frequency of a VTCXO can be controlled by varying an input voltage to the VTCXO. The VTCXO is highly resistant to frequency drift caused by temperature changes.
In such a cellular telephone system, each user terminal is supplied with a VTCXO. Each user terminal monitors a pilot signal transmitted by a base station. The user terminal uses the frequency of the pilot signal as a timing reference to adjust the output frequency of the VTCXO by varying the input voltage applied to it. Such an approach can be used in a cellular telephone system because the relative velocities between the base stations and the user terminals are small.
However, in some satellite communication systems, such as low-earth orbit (LEO) satellite communication systems, the relative radial velocities between a satellite and a user terminal can be very large. This large relative radial velocity imposes a large Doppler shift on the pilot signal transmitted by the LEO satellite, rendering this technique inaccurate and potentially unusable as a timing reference. When the satellite transmits a signal at frequency f.sub.t, the received signal frequency f.sub.r will be: EQU f.sub.r =f.sub.t.+-.f.sub.D (1) EQU f.sub.D =f.sub.t.multidot.[V/c] (2)
where:
V=Velocity of transmitter relative to receiver; PA1 c=speed of light in the appropriate medium; and PA1 f.sub.D =Doppler frequency shift. PA1 r.sub.r is the receiver bit rate, PA1 r.sub.t is the transmitter bit rate, and PA1 r.sub.D is the code Doppler error, and V and c are the same as in Equation 1 above.
If the satellite is moving toward the user terminal, the period of the electromagnetic wave is compressed and the [+] sign is used in the above equation. If the satellite is moving away from the user terminal, then the electromagnetic wave is elongated, and the [-] is used. The Doppler effect can be expressed as a Doppler ratio of [V/c] where V is the velocity of the transmitter relative to the receiver, and c is the speed of light in the appropriate medium. The magnitude of Doppler frequency shift is the Doppler ratio multiplied by f.sub.t.
Doppler shifts are particularly acute in a LEO satellite system. For example, a typical LEO satellite can have a velocity of 7 km/sec relative to a user terminal. With a transmitter frequency of 2.5 GHz, this results in a Doppler ratio of 23 parts per million (or 23 ppm), and a Doppler frequency shift of 58 kHz (as calculated from equation 2 below).
Code Doppler error occurs whenever Doppler frequency shift is present and a digital data stream is being transmitted. Code Doppler error occurs because the transmitter is moving toward or away from the receiver causing the receiver bit rate to be increased or decreased relative to the transmitter bit rate. Code Doppler error is the Doppler ratio [V/c] times the transmitter bit rate. The resulting bit rate at the receiver is transmitter bit rate plus/minus code Doppler error where the [+] sign is used when the transmitter is moving toward the receiver, and the [-] sign is used when the transmitter is moving away from the receiver. This relationship is shown by: EQU r.sub.r =r.sub.t.+-.r.sub.D (3) EQU r.sub.D =r.sub.t.multidot.[V/c] (4)
where
Code Doppler error is especially harmful in a spread spectrum communications system because of its cumulative effect on pseudonoise (PN) generator synchronization. In a typical spread spectrum communications system, a set of preselected pseudonoise (PN) code sequences is used to modulate (i.e. "spread") the digital message over a predetermined spectral band prior to modulation of the carrier signal. For a spread spectrum receiver to properly "despread" the signal, the local PN generator chipping or chip rate (the rate at which chips are generated) must be time synchronized with the received signal chip rate. ["Chip" is a term of art that refers to a single PN code bit. Digital messages (voice, data, etc.) that have been spread with PN code chips are also sometimes referred to as comprising "chips," although "symbols" is preferred.] If the received signal chip rate is only a fraction of a Hz off, the clock error will accumulate over time causing the PN sequence to loose synchronization with the incoming bit stream. For example, a 0.1 Hz offset between the incoming chip rate and the local PN-generator results in a 0.1 chip per second timing error, which accumulates to 6 chips of timing error in 1 minute. That is, the received signal is shifted in time by 6 chips from where it should be in order for it to be properly despread by the appropriate PN-sequence. Spread spectrum receivers generally require code phase drift to be less than one-half of a chip period to properly despread a signal. Greater than one chip of error produces useless information. Thus, it is important for code Doppler error to be monitored and corrected in spread spectrum receivers.